import { ApiProperty } from '@nestjs/swagger';
import { Type } from 'class-transformer';
import { IsNumber, IsOptional } from 'class-validator';
// 分页请求参数 DTO
// 用于接收客户端分页查询的参数
export class PaginationDto {
  // 当前页码
  // @ApiProperty - Swagger文档装饰器,用于生成API文档
  // @IsOptional - 参数可选装饰器
  // @Type - 参数类型转换装饰器,将字符串转为数字
  // @IsNumber - 数字类型验证装饰器
  @ApiProperty({ description: '当前页码' })
  @IsOptional()
  @Type()
  @IsNumber()
  pageNum?: number;

  // 每页显示条数
  @ApiProperty({ description: '每页条数' })
  @IsOptional()
  @Type()
  @IsNumber()
  pageSize?: number;

  // SQL查询时需要跳过的记录数
  // 用于计算分页的偏移量
  skip?: number;

  // SQL查询时需要返回的记录数
  // 用于限制返回的数据条数
  take?: number;
}
